 Part 1:
// Found in "MainWindow code behind"      
// Background worker that starts the process of updating the breaker data
	private void FDU_BW_DoWork(object sender, DoWorkEventArgs e)
        {
            StatusLog.Rows[6]["Status"] = "Started";
            StatusLog.Rows[6]["Date"] = DateTime.Now;
// CreateMPACScheduleTXT() runs the procedure to generate the text file fromt he sybase server. - The text file is provided in  "Solution for gathering breaker data"
            db.CreateMPACScheduleTXT();
// runs the function that we need to have recoded
            e.Result = ed.RunMPACScheduleUpdate();
        }

Part 2:
// Verifies the text file then creates a new clsFASorders (Found in SE0085CTdb )
 public string RunMPACScheduleUpdate()
        {
            string Error = "Completed";
            clsFASorders FO = new clsFASorders();
            if (File.Exists("S:\\Transfer\\SE0085dB\\OS\\FASExport\\mpac open orders.txt"))
            {
                try
                {
// Import fas is the function we need to recover code from 
                    FO.ImportFAS("S:\\Transfer\\SE0085dB\\OS\\FASExport\\mpac open orders.txt");
                }
                catch
                {
                    return Error = "Failed On Import";
                }
            }
            else
            {
                return Error = "Could not Find MPAC Open Orders.txt";
            }
            return Error;
        }

part 3:
// "Decompiled" ImportFAS
public bool ImportFAS(string ImportFile)
{
    bool flag;
    clsFASorders.scUpdProgress _scUpdProgress;
    StreamReader streamReader;
    clsFASorders.ueUpdateProgressEventHandler _ueUpdateProgressEventHandler;
    List<scAssemblyLine>.Enumerator enumerator = new List<scAssemblyLine>.Enumerator();
    List<clsFASorders.scOrderFas>.Enumerator enumerator1 = new List<clsFASorders.scOrderFas>.Enumerator();
    IEnumerator<OrdFASExt> enumerator2 = null;
    clsFASorders.scUpdProgress _scUpdProgress1;
    List<string>.Enumerator enumerator3 = new List<string>.Enumerator();
    List<string>.Enumerator enumerator4 = new List<string>.Enumerator();
    try
    {
        streamReader = File.OpenText(ImportFile);
    }
    catch (Exception exception)
    {
        ProjectData.SetProjectError(exception);
        _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.ResultStatus, string.Concat("Error opening FAS Export file: ", ImportFile, "\r\n"));
        _ueUpdateProgressEventHandler = this.ueUpdateProgress;
        if (_ueUpdateProgressEventHandler != null)
        {
            _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
        }
        flag = false;
        ProjectData.ClearProjectError();
        return flag;
    }
    clsEngineCTdB _clsEngineCTdB = new clsEngineCTdB();
    Hashtable hashmdsq2ccd = (new clsT2Q2CdB()).getHashmdsq2ccd();
    clsPlant _clsPlant = new clsPlant();
    this.lmPlants = _clsPlant.rtnPlantByDesin("0085");
    this.lmPlants = _clsPlant.rtnPlantById(1);
    this.lmPlantLevel = this.lmPlants.PlantLevel;
    clsAssemblyLine _clsAssemblyLine = new clsAssemblyLine(this.lmPlants);
    List<scAssemblyLine> scAssemblyLines = new List<scAssemblyLine>();
    scAssemblyLines = _clsAssemblyLine.rtnAssemblyLines(true);
    string str = streamReader.ReadLine();
    char[] chrArray = new char[] { '\t' };
    str.Split(chrArray);
    List<clsFASorders.scOrderFas> _scOrderFas = new List<clsFASorders.scOrderFas>();
    List<string> strs = new List<string>();
    List<string> strs1 = new List<string>();
    while (!streamReader.EndOfStream)
    {
        string str1 = streamReader.ReadLine();
        chrArray = new char[] { '\t' };
        string[] strArrays = str1.Split(chrArray);
        clsFASorders.scOrderFas scOrderFa = new clsFASorders.scOrderFas();
        if (!strArrays[14].Contains("MO"))
        {
            scOrderFa.OrderData.FactoryOrderOE = strArrays[14].Trim();
        }
        else if (strArrays[15].Contains("Parent:"))
        {
            scOrderFa.OrderData.FOLineSLSS = strArrays[15].Replace("Parent: ", "").Trim();
        }
        scOrderFa.OrderData.OrderJobName = strArrays[11].Trim();
        if (scOrderFa.OrderData.FOFormatValid)
        {
            if (!(strArrays[0].Trim().StartsWith("NW") | strArrays[0].Trim().StartsWith("GM") | strArrays[0].Trim().StartsWith("394") | strArrays[0].Trim().StartsWith("244") | strArrays[0].Trim().StartsWith("252") | strArrays[0].Trim().StartsWith("311")))
            {
                scOrderFa.OrdFASExt.OrdCatlgNbr = strArrays[0].Trim();
                scOrderFa.OrdFASExt.OrdMfgPartNbr = strArrays[1].Trim();
            }
            else
            {
                scItemMaster _scItemMaster = new scItemMaster();
                _scItemMaster = _clsEngineCTdB.rtnByAssyPartNum(strArrays[0].Trim());
                if (_scItemMaster == null)
                {
                    scOrderFa.OrdFASExt.OrdCatlgNbr = strArrays[0].Trim();
                    scOrderFa.OrdFASExt.OrdMfgPartNbr = strArrays[1].Trim();
                }
                else
                {
                    scOrderFa.OrdFASExt.OrdCatlgNbr = _scItemMaster.Description1;
                    scOrderFa.OrdFASExt.OrdMfgPartNbr = strArrays[0].Trim();
                }
            }
            scOrderFa.OrdFASExt.FASOrdQty = Conversions.ToInteger(strArrays[2].Trim());
            scOrderFa.OrdFASExt.FASUnfilledQty = Conversions.ToInteger(strArrays[3].Trim());
            scOrderFa.OrdFASExt.FASPrgrsPnt = Conversions.ToInteger(strArrays[7].Trim());
            short integer = checked((short)Conversions.ToInteger(strArrays[7].Trim()));
            scOrderFa.OrdFASExt.OrdCdDesc = hashmdsq2ccd[integer].ToString().Trim();
            scOrderFa.OrdFASExt.FASDueDt = Conversions.ToDate(strArrays[12].Trim());
            scOrderFa.OrdFASExt.FASOrdNbr = strArrays[14].Trim();
            scOrderFa.OrdFASExt.OrdProdLn = strArrays[16].Trim();
            scOrderFa.OrdFASExt.FASCmplQty = Conversions.ToInteger(strArrays[17].Trim());
            scOrderFa.OrdFASExt.FASAsmblLn = strArrays[18].Trim();
            scOrderFa.OrdFASExt.FASWorkCtr = strArrays[19].Trim();
            _scOrderFas.Add(scOrderFa);
            if (Conversions.ToInteger(strArrays[7].Trim()) >= 240 & DateTime.Compare(Conversions.ToDate(strArrays[4].Trim()), Conversions.ToDate("12/31/2039")) < 0 & !scOrderFa.OrdFASExt.FASOrdNbr.StartsWith("MO"))
            {
                if (_clsEngineCTdB.rtnOrderLineId(scOrderFa.OrderData.FOLineSLSS) == 0)
                {
                    scOrderImportInfo _scOrderImportInfo = new scOrderImportInfo()
                    {
                        SEPlant = this.lmPlants
                    };
                    string str2 = "";
                    string fASAsmblLn = scOrderFa.OrdFASExt.FASAsmblLn;
                    if (Operators.CompareString(fASAsmblLn, "221", false) == 0)
                    {
                        str2 = "NW221C";
                    }
                    else if (Operators.CompareString(fASAsmblLn, "221B", false) == 0)
                    {
                        str2 = "NW221B";
                    }
                    else if (Operators.CompareString(fASAsmblLn, "CUKIT", false) == 0)
                    {
                        str2 = "221KITS";
                    }
                    else if (Operators.CompareString(fASAsmblLn, "FAB", false) == 0)
                    {
                        if (scOrderFa.OrdFASExt.FASWorkCtr.Contains("221PKKIT"))
                        {
                            str2 = "221KITS";
                        }
                        if (scOrderFa.OrdFASExt.FASWorkCtr.Contains("221ASSEM") | scOrderFa.OrdFASExt.FASWorkCtr.Contains("221PACK"))
                        {
                            str2 = "221CT";
                        }
                    }
                    bool flag1 = false;
                    if (str2.Length > 0)
                    {
                        try
                        {
                            enumerator = scAssemblyLines.GetEnumerator();
                            while (enumerator.MoveNext())
                            {
                                scLevels current = enumerator.Current;
                                if (current.LevelAbbrv.Contains(str2))
                                {
                                    _scOrderImportInfo.AssemblyLine = current;
                                    flag1 = true;
                                    break;
                                }
                            }
                        }
                        finally
                        {
                            ((IDisposable)enumerator).Dispose();
                        }
                    }
                    if (flag1)
                    {
                        _scOrderImportInfo.OrderFO = scOrderFa.OrderData.OrderFO;
                        _scOrderImportInfo.OrderLineNum = scOrderFa.OrderData.OrderLineNum;
                        _scOrderImportInfo.OrderLineSL = scOrderFa.OrderData.OrderLineSL;
                        _scOrderImportInfo.OrderLineSS = scOrderFa.OrderData.OrderLineSS;
                        _scOrderImportInfo.OrderLineShipDt = Conversions.ToDate(strArrays[4].Trim());
                        _scOrderImportInfo.OrderLineTargetDt = Conversions.ToDate(strArrays[4].Trim());
                        _scOrderImportInfo.OrderPurchaser = scOrderFa.OrderData.OrderJobName;
                        _scOrderImportInfo.OrderLineNB4Dt = Conversions.ToDate(strArrays[6].Trim());
                        _scOrderImportInfo.OrderLineOrgShipDt = Conversions.ToDate(strArrays[5].Trim());
                        _scOrderImportInfo.OrderLineQty = Conversions.ToInteger(strArrays[2].Trim());
                        (new clsBackorders(this.lmPlantLevel, _scOrderImportInfo.AssemblyLine)).InsertBackOrderLines(_scOrderImportInfo);
                        _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.ResultStatus, string.Concat(scOrderFa.OrderData.FactoryOrderOE, " was created in VMS\r\n"));
                        _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                        if (_ueUpdateProgressEventHandler != null)
                        {
                            _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                        }
                    }
                }
            }
        }
    }
    IEnumerable<clsFASorders.scOrderFas> _scOrderFas1 =
        from fao in _scOrderFas
        where (Operators.CompareString(fao.OrdFASExt.FASAsmblLn, "221", false) == 0 | Operators.CompareString(fao.OrdFASExt.FASAsmblLn, "221B", false) == 0 | Operators.CompareString(fao.OrdFASExt.FASAsmblLn, "CUKIT", false) == 0 | Operators.CompareString(fao.OrdFASExt.FASAsmblLn, "FAB", false) == 0 & (Operators.CompareString(fao.OrdFASExt.FASWorkCtr, "221ASSEM", false) == 0 | Operators.CompareString(fao.OrdFASExt.FASWorkCtr, "221PACK", false) == 0 | Operators.CompareString(fao.OrdFASExt.FASWorkCtr, "221PKKIT", false) == 0)) & DateTime.Compare(fao.OrdFASExt.FASDueDt, Conversions.ToDate("12/05/2013")) > 0
        orderby fao.OrdFASExt.FASAsmblLn
        select fao;
    Dictionary<string, clsFASorders.scOrderFas> strs2 = new Dictionary<string, clsFASorders.scOrderFas>();
    using (SE0085CTEntities1 sE0085CTEntities1 = new SE0085CTEntities1())
    {
        sE0085CTEntities1.Database.Connection.ConnectionString = this._CTConnection;
        try
        {
            enumerator1 = _scOrderFas1.ToList<clsFASorders.scOrderFas>().GetEnumerator();
            while (enumerator1.MoveNext())
            {
                clsFASorders.scOrderFas current1 = enumerator1.Current;
                if (!strs2.ContainsKey(current1.OrdFASExt.FASOrdNbr))
                {
                    strs2.Add(current1.OrdFASExt.FASOrdNbr, current1);
                }
                if (DateTime.Compare(current1.OrdFASExt.FASDueDt, Conversions.ToDate("12/31/2039")) < 0)
                {
                    int num = this.UpdateFASLinesDueDate(current1.OrderData, current1.OrdFASExt);
                    if (num == 0)
                    {
                        _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.ResultStatus, string.Concat(current1.OrderData.FactoryOrder, " was not updated in VMS, reference FAS order ", current1.OrdFASExt.FASOrdNbr, "\r\n"));
                        _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                        if (_ueUpdateProgressEventHandler != null)
                        {
                            _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                        }
                    }
                    else if (num == 32763)
                    {
                        if (current1.OrdFASExt.FASOrdNbr.StartsWith("MO") & (Operators.CompareString(current1.OrdFASExt.FASAsmblLn, "221", false) == 0 | Operators.CompareString(current1.OrdFASExt.FASAsmblLn, "221B", false) == 0))
                        {
                            strs.Add(current1.OrdFASExt.FASOrdNbr);
                        }
                        _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.OrderInfo, string.Concat(" Add:", current1.OrderData.FactoryOrderOE, "\r\n"));
                        _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                        if (_ueUpdateProgressEventHandler != null)
                        {
                            _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                        }
                    }
                    else if (num == 32764)
                    {
                        if (current1.OrdFASExt.FASOrdNbr.StartsWith("MO") & (Operators.CompareString(current1.OrdFASExt.FASAsmblLn, "221", false) == 0 | Operators.CompareString(current1.OrdFASExt.FASAsmblLn, "221B", false) == 0))
                        {
                            strs1.Add(current1.OrdFASExt.FASOrdNbr);
                        }
                        _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.OrderInfo, string.Concat(" Upd:", current1.OrderData.FactoryOrderOE, "\r\n"));
                        _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                        if (_ueUpdateProgressEventHandler != null)
                        {
                            _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                        }
                    }
                    else if (num == 32765)
                    {
                        if (current1.OrdFASExt.FASOrdNbr.StartsWith("MO") & (Operators.CompareString(current1.OrdFASExt.FASAsmblLn, "221", false) == 0 | Operators.CompareString(current1.OrdFASExt.FASAsmblLn, "221B", false) == 0))
                        {
                            strs1.Add(current1.OrdFASExt.FASOrdNbr);
                        }
                    }
                    else if (num == 32766)
                    {
                        if (DateTime.Compare(current1.OrderData.OrderLineShipDt, Conversions.ToDate("12/31/2039")) != 0)
                        {
                            _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.ResultStatus, string.Concat(current1.OrderData.FactoryOrder, " was not found in VMS\r\n"));
                            _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                            if (_ueUpdateProgressEventHandler != null)
                            {
                                _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                            }
                        }
                    }
                    else if (num != 32767)
                    {
                        _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.OrderInfo, string.Concat(current1.OrderData.FactoryOrderOE, "\r\n"));
                        _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                        if (_ueUpdateProgressEventHandler != null)
                        {
                            _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                        }
                    }
                    else
                    {
                        _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.ResultStatus, string.Concat(current1.OrderData.FactoryOrder, " has duplicate FAS orders attached in VMS, reference FAS order ", current1.OrdFASExt.FASOrdNbr, "\r\n"));
                        _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                        if (_ueUpdateProgressEventHandler != null)
                        {
                            _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                        }
                    }
                }
            }
        }
        finally
        {
            ((IDisposable)enumerator1).Dispose();
        }
        IQueryable<OrdFASExt> ordFASExts =
            from f in sE0085CTEntities1.OrdFASExts
            where (f.FASOrdQty > f.FASCmplQty) ?? false
            select f;
        if (ordFASExts != null)
        {
            if (ordFASExts.Count<OrdFASExt>() > 0)
            {
                using (enumerator2)
                {
                    enumerator2 = ordFASExts.GetEnumerator();
                    while (enumerator2.MoveNext())
                    {
                        OrdFASExt fASOrdQty = enumerator2.Current;
                        if (!strs2.ContainsKey(fASOrdQty.FASOrdNbr))
                        {
                            fASOrdQty.FASCmplQty = fASOrdQty.FASOrdQty;
                        }
                    }
                }
                _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.ResultStatus, "FAS Orders Closed: Update CompQty");
                if (sE0085CTEntities1.SaveChanges() <= 0)
                {
                    _scUpdProgress1 = _scUpdProgress;
                    _scUpdProgress1.UpdateStatus = string.Concat(_scUpdProgress1.UpdateStatus, " FAILED! \r\n");
                    _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                    if (_ueUpdateProgressEventHandler != null)
                    {
                        _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                    }
                }
                else
                {
                    _scUpdProgress1 = _scUpdProgress;
                    _scUpdProgress1.UpdateStatus = string.Concat(_scUpdProgress1.UpdateStatus, " was successful \r\n");
                    _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                    if (_ueUpdateProgressEventHandler != null)
                    {
                        _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                    }
                }
            }
        }
        _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.ResultStatus, string.Concat("FAS data import complete:", Conversions.ToString(DateTime.Now), "\r\n"));
        _ueUpdateProgressEventHandler = this.ueUpdateProgress;
        if (_ueUpdateProgressEventHandler != null)
        {
            _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
        }
        try
        {
            enumerator3 = strs.GetEnumerator();
            while (enumerator3.MoveNext())
            {
                string current2 = enumerator3.Current;
                if (!_clsEngineCTdB.AddUpdFASDtlByMO(current2))
                {
                    _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.ResultStatus, string.Concat("FAS Order: ", current2, " failed to attach to a section(s)\r\n"));
                    _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                    if (_ueUpdateProgressEventHandler != null)
                    {
                        _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                    }
                }
                else
                {
                    _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.ResultStatus, string.Concat("FAS Order: ", current2, " attached to a section(s)\r\n"));
                    _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                    if (_ueUpdateProgressEventHandler != null)
                    {
                        _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                    }
                }
            }
        }
        finally
        {
            ((IDisposable)enumerator3).Dispose();
        }
        try
        {
            enumerator4 = strs1.GetEnumerator();
            while (enumerator4.MoveNext())
            {
                string current3 = enumerator4.Current;
                if (!_clsEngineCTdB.AddUpdFASDtlByMO(current3))
                {
                    _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.ResultStatus, string.Concat("FAS Order: ", current3, " failed to update section(s)\r\n"));
                    _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                    if (_ueUpdateProgressEventHandler != null)
                    {
                        _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                    }
                }
                else
                {
                    _scUpdProgress = new clsFASorders.scUpdProgress(clsFASorders.emUpdateProgType.ResultStatus, string.Concat("FAS Order: ", current3, " updated section(s)\r\n"));
                    _ueUpdateProgressEventHandler = this.ueUpdateProgress;
                    if (_ueUpdateProgressEventHandler != null)
                    {
                        _ueUpdateProgressEventHandler(this, new ProgressChangedEventArgs(10, _scUpdProgress));
                    }
                }
            }
        }
        finally
        {
            ((IDisposable)enumerator4).Dispose();
        }
        sE0085CTEntities1.Database.Connection.Close();
    }
    streamReader.Close();
    flag = true;
    return flag;
}